#include "CharacterVocation.h"
#include "CharacterVocation_wizard.h"

Wizard::string Wizard::_wizardVocation = "Wizard";
Wizard::string Wizard::_wizardMajor[MAJOR_MAX_PER] = { "Fight", "Support" };
Wizard::WEAPON Wizard::_wizardWeapon[WEAPON_MAX_PER] = { Wand, Sword };
Wizard::ARMOUR Wizard::_wizardArmour = Textile;

Wizard::Wizard() :Vocation()
{
	_oath = new string;
	*_oath = "";
}

Wizard::Wizard(const string & oath, const Vocation & voc) : Vocation(voc)
{
	_oath = new string;
	*_oath = oath;
}

void Wizard::DefVocation()
{
	Vocation::DefVocation(_wizardVocation);
}

void Wizard::DefMajor()
{
	Vocation::DefMajor(_wizardMajor);
}

void Wizard::DefWeapon()
{
	Vocation::DefWeapon(_wizardWeapon);
}

void Wizard::DefArmour()
{
	Vocation::DefArmour(_wizardArmour);
}


void Wizard::DefWizard()
{
	DefVocation();
	DefMajor();
	DefWeapon();
	DefArmour();
}

void Wizard::DefOath(const string & oath)
{
	_oath = new string;
	*_oath = oath;
}

void Wizard::ShowOath() const
{
	std::cout << "Oath : " << *_oath << std::endl;
}

Wizard::~Wizard()
{
	delete _oath;
}